1200
Is it possible to display the task bars with a gradient color

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		com_Bars.Copy("Task","TaskO");
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Pattern(99/*exPatternGradientVBox | exPatternBox | exPatternShadow*/);
			com_Bar.StartColor(WinApi::RGB2int(255,255,255));
			com_Bar.EndColor(com_Bar.Color());
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Original"),"TaskO",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Pattern Gradient"),"Task",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Original"),"TaskO",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1199
How can I know the type of bars I can displays using predefined patterns

public void init()
{
	COM com_Bar,com_Bar1,com_Bar2,com_Bar3,com_Bar4,com_Bar5,com_Bar6,com_Bar7,com_Bar8,com_Bar9,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bar1,var_Bar2,var_Bar3,var_Bar4,var_Bar5,var_Bar6,var_Bar7,var_Bar8,var_Bar9,var_Bars,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/31/2009",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		var_Bars = com_Chart.Bars(); com_Bars = var_Bars;
			var_Bar = COM::createFromObject(com_Bars.Add("Box")); com_Bar = var_Bar;
			com_Bar.Pattern(32/*exPatternBox*/);
			var_Bar = COM::createFromObject(com_Bars.Add("ThickBox")); com_Bar = var_Bar;
			com_Bar.Pattern(4128/*exPatternThickBox | exPatternBox*/);
			var_Bar = COM::createFromObject(com_Bars.Add("DiagBox")); com_Bar = var_Bar;
			com_Bar.Pattern(4102/*exPatternThickBox | exPatternBDiagonal*/);
			var_Bar = COM::createFromObject(com_Bars.Copy("Task","Shadow")); com_Bar = var_Bar;
			com_Bar.Pattern(8195/*exPatternFrameShadow | exPatternShadow*/);
			var_Bar = COM::createFromObject(com_Bars.Copy("Task","TShadow")); com_Bar = var_Bar;
			com_Bar.Pattern(12295/*exPatternFrameShadow | exPatternThickBox | exPatternDiagCross*/);
			var_Bar = com_Bars.Add("HGrad1"); com_Bar = var_Bar;
				com_Bar.Pattern(32/*exPatternBox*/);
				com_Bar.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar.EndColor(WinApi::RGB2int(0,0,255));
			var_Bar1 = com_Bars.Add("HGrad2"); com_Bar1 = var_Bar1;
				com_Bar1.Pattern(35/*exPatternBox | exPatternShadow*/);
				com_Bar1.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar1.EndColor(WinApi::RGB2int(0,0,255));
				com_Bar1.Color(WinApi::RGB2int(0,0,255));
			var_Bar2 = com_Bars.Add("HGrad3"); com_Bar2 = var_Bar2;
				com_Bar2.Pattern(163/*exPatternGradient3Colors | exPatternBox | exPatternShadow*/);
				com_Bar2.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar2.EndColor(com_Bar2.StartColor());
				com_Bar2.Color(WinApi::RGB2int(0,0,255));
			var_Bar3 = com_Bars.Add("HGrad4"); com_Bar3 = var_Bar3;
				com_Bar3.Pattern(4256/*exPatternThickBox | exPatternGradient3Colors | exPatternBox*/);
				com_Bar3.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar3.EndColor(com_Bar3.StartColor());
				com_Bar3.Color(WinApi::RGB2int(0,0,255));
			var_Bar4 = com_Bars.Add("HGrad5"); com_Bar4 = var_Bar4;
				com_Bar4.Pattern(8352/*exPatternFrameShadow | exPatternGradient3Colors | exPatternBox*/);
				com_Bar4.StartColor(WinApi::RGB2int(0,255,0));
				com_Bar4.EndColor(WinApi::RGB2int(255,0,0));
				com_Bar4.Color(WinApi::RGB2int(0,0,255));
			var_Bar5 = com_Bars.Add("VGrad1"); com_Bar5 = var_Bar5;
				com_Bar5.Pattern(96/*exPatternGradientVBox | exPatternBox*/);
				com_Bar5.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar5.EndColor(WinApi::RGB2int(0,0,255));
				com_Bar5.Height(14);
			var_Bar6 = com_Bars.Add("VGrad2"); com_Bar6 = var_Bar6;
				com_Bar6.Pattern(99/*exPatternGradientVBox | exPatternBox | exPatternShadow*/);
				com_Bar6.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar6.EndColor(WinApi::RGB2int(0,0,255));
				com_Bar6.Color(WinApi::RGB2int(0,0,255));
				com_Bar6.Height(14);
			var_Bar7 = com_Bars.Add("VGrad3"); com_Bar7 = var_Bar7;
				com_Bar7.Pattern(227/*exPatternGradient3Colors | exPatternGradientVBox | exPatternBox | exPatternShadow*/);
				com_Bar7.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar7.EndColor(com_Bar7.StartColor());
				com_Bar7.Color(WinApi::RGB2int(0,0,255));
				com_Bar7.Height(14);
			var_Bar8 = com_Bars.Add("VGrad4"); com_Bar8 = var_Bar8;
				com_Bar8.Pattern(4320/*exPatternThickBox | exPatternGradient3Colors | exPatternGradientVBox | exPatternBox*/);
				com_Bar8.StartColor(WinApi::RGB2int(255,255,255));
				com_Bar8.EndColor(com_Bar8.StartColor());
				com_Bar8.Color(WinApi::RGB2int(0,0,255));
				com_Bar8.Height(-1);
			var_Bar9 = com_Bars.Add("VGrad5"); com_Bar9 = var_Bar9;
				com_Bar9.Pattern(8416/*exPatternFrameShadow | exPatternGradient3Colors | exPatternGradientVBox | exPatternBox*/);
				com_Bar9.StartColor(WinApi::RGB2int(0,255,0));
				com_Bar9.EndColor(WinApi::RGB2int(255,0,0));
				com_Bar9.Color(WinApi::RGB2int(0,0,255));
				com_Bar9.Height(14);
	exg2antt1.Columns().Add("Types");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Box"),"Box",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Thick Box"),"ThickBox",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Thick Box Diag"),"DiagBox",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Shadow"),"Shadow",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Thick Shadow"),"TShadow",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Solid Gradient"),"HGrad1",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Pattern Gradient"),"HGrad2",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Pattern Gradient 3 Colors"),"HGrad3",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Solid Gradient 3 Colors"),"HGrad4",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Gradient Shadow"),"HGrad5",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Solid Gradient"),"VGrad1",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Pattern Gradient"),"VGrad2",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Pattern Gradient 3 Colors"),"VGrad3",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Solid Gradient 3 Colors"),"VGrad4",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
		com_Items.AddBar(com_Items.AddItem("Gradient Shadow"),"VGrad5",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/9/2010",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1198
Is it possible to display the bars with a thicker border

public void init()
{
	COM com_Bar,com_Items;
	anytype var_Bar,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48);
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Copy("Task","TaskB"); com_Bar = var_Bar;
	com_Bar.Pattern(4099/*exPatternThickBox | exPatternShadow*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"TaskB",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1197
Is it possible to display the shadow for EBN bars

public void init()
{
	COM com_Bar,com_Bar1,com_Items;
	anytype var_Bar,var_Bar1,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48);
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Copy("Task","EBN"); com_Bar = var_Bar;
		com_Bar.Color(0x1000000);
		com_Bar.Pattern(8192/*exPatternFrameShadow*/);
	var_Bar1 = COM::createFromObject(exg2antt1.Chart().Bars()).Copy("Task","EBN2"); com_Bar1 = var_Bar1;
	com_Bar1.Color(0x1000000);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"EBN2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"EBN",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 3"),"EBN2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1196
Can I display a shadow for my bars

public void init()
{
	COM com_Bar,com_Items;
	anytype var_Bar,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48);
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Item("Task"); com_Bar = var_Bar;
	com_Bar.Pattern(8195/*exPatternFrameShadow | exPatternShadow*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1195
How can I use the Color property for gradient bars

public void init()
{
	COM com_Bar,com_Bar1,com_Items;
	anytype var_Bar,var_Bar1,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48);
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("V"); com_Bar = var_Bar;
		com_Bar.Color(WinApi::RGB2int(255,0,0));
		com_Bar.StartColor(WinApi::RGB2int(0,255,0));
		com_Bar.EndColor(com_Bar.StartColor());
		com_Bar.Pattern(224/*exPatternGradient3Colors | exPatternGradientVBox | exPatternBox*/);
		com_Bar.Height(-1);
	var_Bar1 = COM::createFromObject(exg2antt1.Chart().Bars()).Add("H"); com_Bar1 = var_Bar1;
		com_Bar1.Color(WinApi::RGB2int(255,0,0));
		com_Bar1.StartColor(WinApi::RGB2int(0,255,0));
		com_Bar1.EndColor(com_Bar1.StartColor());
		com_Bar1.Pattern(160/*exPatternGradient3Colors | exPatternBox*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"V",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"H",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1194
Is there any option to show bars with vertical gradient

public void init()
{
	COM com_Bar,com_Items;
	anytype var_Bar,var_Items;
	int h;
	;

	super();

	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Color(WinApi::RGB2int(255,0,0));
		com_Bar.StartColor(WinApi::RGB2int(0,255,0));
		com_Bar.EndColor(WinApi::RGB2int(255,255,0));
		com_Bar.Pattern(96/*exPatternGradientVBox | exPatternBox*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"");
}
1193
How can I define a new milestone bar

public void init()
{
	COM com_Bar,com_Bars,com_Items;
	anytype var_Bar,var_Bars,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	var_Bars = exg2antt1.Chart().Bars(); com_Bars = var_Bars;
		com_Bars.AddShapeCorner(COMVariant::createFromInt(12345),COMVariant::createFromInt(1));
		com_Bars.AddShapeCorner(COMVariant::createFromInt(12346),COMVariant::createFromInt(2));
		var_Bar = COM::createFromObject(com_Bars.Copy("Milestone","M1")); com_Bar = var_Bar;
		com_Bar.StartShape(12345/*0x3039 | exShapeIconVBar | exShapeIconRight*/);
		var_Bar = COM::createFromObject(com_Bars.Copy("Milestone","M2")); com_Bar = var_Bar;
		com_Bar.StartShape(12346/*0x303a | exShapeIconSquare | exShapeIconRight*/);
		var_Bar = com_Bars.Copy("Milestone","MP"); com_Bar = var_Bar;
			com_Bar.StartShape(20/*exShapeIconStar*/);
			com_Bar.StartColor(WinApi::RGB2int(255,0,0));
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Default"),"Milestone",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Predefined"),"MP",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Custom 1"),"M1",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Custom 2"),"M2",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)));
	exg2antt1.EndUpdate();
}
1192
How can I define my milestone bar, using my icons or pictures
public void init()
{
	COM com_Bar,com_Bars,com_Items;
	anytype var_Bar,var_Bars,var_Items;
	str var_s;
	;

	super();

	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	var_Bars = exg2antt1.Chart().Bars(); com_Bars = var_Bars;
		com_Bars.AddShapeCorner(COMVariant::createFromInt(12345),COMVariant::createFromInt(1));
		var_Bar = COM::createFromObject(com_Bars.Item("Milestone")); com_Bar = var_Bar;
		com_Bar.StartShape(12345/*0x3039 | exShapeIconVBar | exShapeIconRight*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Milestone",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/2/2001",213)));
}
1191
Is it possible to specify manually non-working days instead using the NonworkingDays as being repetitive

public void init()
{
	COM com_Chart,com_Level;
	anytype var_Chart,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		var_Level = COM::createFromObject(com_Chart.Level(0)); com_Level = var_Level;
		com_Level.DrawGridLines(true);
		com_Chart.ShowNonworkingUnits(false);
		com_Chart.ShowNonworkingDates(false);
		com_Chart.NonworkingDays(0);
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/10/2010",213)));
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/11/2010",213)));
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/15/2010",213)));
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/16/2010",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
1190
Is it possible to hide specific days

public void init()
{
	COM com_Chart,com_Level;
	anytype var_Chart,var_Level;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-1/*exAllLines*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,0);
		com_Chart.LevelCount(2);
		var_Level = COM::createFromObject(com_Chart.Level(0)); com_Level = var_Level;
		com_Level.DrawGridLines(true);
		com_Chart.ShowNonworkingUnits(false);
		com_Chart.ShowNonworkingDates(false);
		com_Chart.NonworkingDays(128);
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/10/2010",213)));
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/11/2010",213)));
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/15/2010",213)));
		com_Chart.AddNonworkingDate(COMVariant::createFromDate(str2Date("1/16/2010",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,0);
}
*/
1189
Is it possible to show or display the marked zones ONLY in the overview part of the control

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/14/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),com_Chart.BackColor(),";;Zone <b>1</b>");
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("2/6/2001",213)),COMVariant::createFromDate(str2Date("2/7/2001",213)),com_Chart.BackColor(),";;Zone <b>2</b>");
		com_Chart.MarkTimeZone("Z3",COMVariant::createFromDate(str2Date("1/16/2001",213)),COMVariant::createFromDate(str2Date("1/19/2001",213)),com_Chart.BackColor(),";;Zone <b>3</b>");
		com_Chart.OverviewShowMarkTimeZones(true);
		com_Chart.OverviewBackColor(WinApi::RGB2int(220,240,240));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("2/5/2001",213)),COMVariant::createFromDate(str2Date("2/8/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1188
Is it possible to show or display the marked zones in the overview part of the control

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/14/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromInt(16777056));
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("2/6/2001",213)),COMVariant::createFromDate(str2Date("2/7/2001",213)),COMVariant::createFromInt(16744544));
		com_Chart.MarkTimeZone("Z3",COMVariant::createFromDate(str2Date("1/16/2001",213)),COMVariant::createFromDate(str2Date("1/19/2001",213)),COMVariant::createFromInt(16744544));
		com_Chart.OverviewShowMarkTimeZones(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("2/5/2001",213)),COMVariant::createFromDate(str2Date("2/8/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1187
Is there a quick way to determine if a bar belongs to a group
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2,h3;
	;

	super();

	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"K2");
		h3 = com_Items.AddItem("Task 3");
		com_Items.AddBar(h3,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"K3");
		com_Items.GroupBars(h1,"K1",true,h2,"K2",true);
		com_Items.GroupBars(h1,"K1",false,h2,"K2",false);
		com_Items.GroupBars(h1,"K1",true,h3,"K3",true);
		com_Items.GroupBars(h1,"K1",false,h3,"K3",false);
		print( com_Items.ItemBar(h1,"K1",522/*exBarsGroup*/) );
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1186
I am using the ScrollRange property to limit the chart's visible area, but it does not work as expected. What could be wrong
public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,56);
		com_Chart.ScrollRange(0/*exStartDate*/,COMVariant::createFromDate(str2Date("1/1/100",213)));
		com_Chart.ScrollRange(1/*exEndDate*/,COMVariant::createFromDate(str2Date("12/31/9999",213)));
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("4/28/2010",213)));
	exg2antt1.ScrollPartCaption(2/*exHChartScroll*/,512/*exLowerBackPart*/,exg2antt1.Chart().ScrollRange(0/*exStartDate*/));
	exg2antt1.ScrollPartCaptionAlignment(2/*exHChartScroll*/,512/*exLowerBackPart*/,0/*LeftAlignment*/);
	exg2antt1.ScrollPartCaption(2/*exHChartScroll*/,128/*exUpperBackPart*/,exg2antt1.Chart().ScrollRange(1/*exEndDate*/));
	exg2antt1.ScrollPartCaptionAlignment(2/*exHChartScroll*/,128/*exUpperBackPart*/,2/*RightAlignment*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,56);
}
*/
1185
Are you planning to add a AddNonworkingDate / AddNonworkingDay for separate items

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.AllowChartScrollPage(true);
	exg2antt1.Columns().Add("Non-Work");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("4/4/2009",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,52);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Default");
		com_Items.ItemNonworkingUnits(com_Items.AddItem("Test 1"),COMVariant::createFromBoolean(false),"shortdate(value) in (#4/5/2009#,#4/6/2009#)");
		com_Items.ItemNonworkingUnits(com_Items.AddItem("Test 2"),COMVariant::createFromBoolean(false),"shortdate(value) in (#4/6/2009#,#4/7/2009#)");
		com_Items.ItemNonworkingUnits(com_Items.AddItem("Test 3"),COMVariant::createFromBoolean(false),"shortdate(value) in (#4/7/2009#,#4/9/2009#)");
		com_Items.AddItem("Default");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,52);
}
*/
1184
How can I enlarge the EBN being applied to an object

public void init()
{
	COM com_Appearance,com_Chart,com_Items;
	anytype var_Appearance,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(32);
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(2,"c:\\exontrol\\images\\normal.ebn");
		com_Appearance.Add(1,"CP:2 -3 -2 3 2");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2002",213)));
		com_Chart.SelBarColor(0x1000000);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	exg2antt1.Columns().Add("Task");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2002",213)),COMVariant::createFromDate(str2Date("1/4/2002",213)),"A");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/6/2002",213)),COMVariant::createFromDate(str2Date("1/10/2002",213)),"B");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/11/2002",213)),COMVariant::createFromDate(str2Date("1/14/2002",213)),"C");
		com_Items.ItemBar(h,"A",257/*exBarSelected*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h,"B",257/*exBarSelected*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1183
I am using EBN to display my bars but the bars shows in black in the overview area. Is there any option to specify a different color in the overview part of the control

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Color(0x1000000);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/11/2001",213)));
		com_Chart.LevelCount(2);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromInt(1));
		com_Items.ItemBar(h,COMVariant::createFromInt(1),41/*exBarOverviewColor*/,COMVariant::createFromInt(8821418));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("2/2/2001",213)),COMVariant::createFromDate(str2Date("2/4/2001",213)),COMVariant::createFromInt(2));
		com_Items.ItemBar(h,COMVariant::createFromInt(2),41/*exBarOverviewColor*/,COMVariant::createFromInt(8821418));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("2/2/2001",213)),COMVariant::createFromDate(str2Date("2/4/2001",213)),"");
		com_Items.ItemBar(h,"",41/*exBarOverviewColor*/,COMVariant::createFromInt(8821418));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1182
I haven't found options to localize (in Italian) the strings ( dates, tooltip ) that shows in the chart area

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.Label(256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
		com_Chart.Label(4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.MonthNames("gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre");
		com_Chart.WeekDays("domenica lunedì martedì mercoledì giovedì venerdì sabato");
		com_Chart.ToolTip("<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
		com_Chart.UnitScale(4096/*exDay*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1181
I haven't found options to localize (in Dutch) the strings ( dates, tooltip ) that shows in the chart area

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.Label(256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
		com_Chart.Label(4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.MonthNames("januari februari maart april mei juni juli augusts september oktober november december");
		com_Chart.WeekDays("zondag maandag dinsdag woensdag donderdag vrijdag zaterdag");
		com_Chart.ToolTip("<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
		com_Chart.UnitScale(4096/*exDay*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1180
I haven't found options to localize (in German) the strings ( dates, tooltip ) that shows in the chart area (method 1)

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.Label(256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%>.<%mmmm%> <%yyyy%><r><%ww%><||><||>256");
		com_Chart.Label(4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%>.<%m3%> '<%yy%><|><%dddd%> <%d%>.<%mmmm%> <%yyyy%><||><||>4096");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%d%>.<%mmmm%> <%yyyy%> <%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%dddd%>, <%d%>.<%mmmm%> <%yyyy%>");
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.MonthNames("Januar Februar März April Mai Juni Juli August September Oktober November Dezember");
		com_Chart.WeekDays("Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag");
		com_Chart.ToolTip("<%dddd%>,<%d%>.<%mmmm%> <%yyyy%>");
		com_Chart.UnitScale(4096/*exDay*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1179
I haven't found options to localize (in French) the strings ( dates, tooltip ) that shows in the chart area

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.Label(256/*exWeek*/,"<|><%ww%><|><%d%> <%m3%> '<%yy%><r><%ww%><|><%d%> <%mmmm%> <%yyyy%><r><%ww%><||><||>256");
		com_Chart.Label(4096/*exDay*/,"<|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%> <%d%> <%m3%> '<%yy%><|><%dddd%> <%d%> <%mmmm%> <%yyyy%><||><||>4096");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%d%> <%mmmm%> <%yyyy%> <%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.MonthNames("janvier février mars avril mai juin juillet août septembre octobre novembre décembre");
		com_Chart.WeekDays("dimanche lundi mardi mercredi jeudi vendredi samedi");
		com_Chart.ToolTip("<%dddd%> <%d%> <%mmmm%> <%yyyy%>");
		com_Chart.UnitScale(4096/*exDay*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1178
How can I determine the last visible date in the chart
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( "First" );
	print( exg2antt1.Chart().FirstVisibleDate() );
	print( "Last" );
	print( exg2antt1.Chart().DateFromPoint(1,-1) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,1);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,1);
}
*/
1177
How can I filter programatically using more columns
public void init()
{
	COM com_Column,com_Column1,com_Columns,com_Items;
	anytype var_Column,var_Column1,var_Columns,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(true,0);
	exg2antt1.MarkSearchColumn(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Car");
		com_Columns.Add("Equipment");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem("Mazda"),COMVariant::createFromInt(1),"Air Bag");
		com_Items.CellValue(com_Items.AddItem("Toyota"),COMVariant::createFromInt(1),"Air Bag,Air condition");
		com_Items.CellValue(com_Items.AddItem("Ford"),COMVariant::createFromInt(1),"Air condition");
		com_Items.CellValue(com_Items.AddItem("Nissan"),COMVariant::createFromInt(1),"Air Bag,ABS,ESP");
		com_Items.CellValue(com_Items.AddItem("Mazda"),COMVariant::createFromInt(1),"Air Bag, ABS,ESP");
		com_Items.CellValue(com_Items.AddItem("Mazda"),COMVariant::createFromInt(1),"ABS,ESP");
	var_Column = COM::createFromObject(exg2antt1.Columns()).Item("Car"); com_Column = var_Column;
		com_Column.FilterType(240/*exFilter*/);
		com_Column.Filter("Mazda");
	var_Column1 = COM::createFromObject(exg2antt1.Columns()).Item("Equipment"); com_Column1 = var_Column1;
		com_Column1.FilterType(3/*exPattern*/);
		com_Column1.Filter("*ABS*|*ESP*");
	exg2antt1.ApplyFilter();
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(true,0);
}
*/
1176
Do you have scheduling functionality in Gantt (meaning scheduling several activities (bars) depending on their start and finish dates with considering dependencies to other activities
// BarResize event - Occurs when a bar is moved or resized.
void onEvent_BarResize(int   _Item,COMVariant   _Key)
{
	;
	exg2antt1.Items().SchedulePDM(_Item,_Key);
}

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2,h3,h4;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Items().AllowCellValueToItemBar(true);
	exg2antt1.Columns().Add("Task");
	COM::createFromVariant(exg2antt1.Columns().Add("Working")).Def(18/*exCellValueToItemBarProperty*/,COMVariant::createFromInt(258));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,96);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"");
		com_Items.AddLink("L1",h1,"",h2,"");
		h3 = com_Items.AddItem("Task 3");
		com_Items.AddBar(h3,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"");
		com_Items.AddLink("L2",h2,"",h3,"");
		com_Items.Link("L2",12/*exLinkText*/,"FF");
		com_Items.Link("L2",6/*exLinkStartPos*/,COMVariant::createFromInt(2));
		com_Items.Link("L2",7/*exLinkEndPos*/,COMVariant::createFromInt(2));
		h4 = com_Items.AddItem("Task 4");
		com_Items.AddBar(h4,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"");
		com_Items.AddLink("L3",h4,"",h3,"");
		com_Items.ItemBar(0,"<*>",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
		com_Items.SchedulePDM(com_Items.FirstVisibleItem(),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,96);
}
*/
1175
How can I show the ticks for a single slider field
public void init()
{
	COM com_Editor,com_Items;
	anytype var_Editor,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Editor = COM::createFromObject(COM::createFromVariant(exg2antt1.Columns().Add("Slider"))).Editor(); com_Editor = var_Editor;
	com_Editor.EditType(20/*SliderType*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem(COMVariant::createFromInt(10));
		var_Editor = com_Items.CellEditor(com_Items.AddItem(COMVariant::createFromInt(20)),COMVariant::createFromInt(0)); com_Editor = var_Editor;
			com_Editor.EditType(20/*SliderType*/);
			com_Editor.Option(53/*exSliderTickFrequency*/,COMVariant::createFromInt(10));
		com_Items.AddItem(COMVariant::createFromInt(30));
	exg2antt1.EndUpdate();
}
1174
Is it possible to show ticks for slider fields
public void init()
{
	COM com_Editor;
	anytype var_Editor;
	;

	super();

	var_Editor = COM::createFromVariant(exg2antt1.Columns().Add("Slider")).Editor(); com_Editor = var_Editor;
		com_Editor.EditType(20/*SliderType*/);
		com_Editor.Option(53/*exSliderTickFrequency*/,COMVariant::createFromInt(10));
	exg2antt1.Items().AddItem(COMVariant::createFromInt(10));
}
1173
How can I group two bars so the distance between them is limited to a specified range

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Unknown",COMVariant::createFromDate(str2Date("9/25/2006",213)),COMVariant::createFromDate(str2Date("9/28/2006",213)));
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(31),"1;2");
		print( "The distance between A and B is limited between 1 and 3 days" );
		print( "The B is always after the A" );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1172
How can I group two bars so the distance between them is flexible but never less than a specified value

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Unknown",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)));
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(39),"2");
		print( "The distance between A and B is never less than 2 days" );
		print( "The B is always after the A" );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1171
How can I group two bars so the distance between them is flexible

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Unknown",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)));
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.GroupBars(h1,"",false,h2,"",true,COMVariant::createFromInt(39));
		print( "The distance between A and B is flexible, unlimited" );
		print( "The B is always after the A" );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1170
How can I group two bars so the interval between them is fixed

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)),"T1","A");
		com_Items.AddBar(h,"Unknown",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"T2","B");
		com_Items.AddLink("L",h,"T1",h,"T2");
		com_Items.Link("L",258/*exLinkGroupBars*/,COMVariant::createFromInt(27));
		com_Items.Link("L",11/*exLinkShowDir*/,COMVariant::createFromBoolean(false));
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Unknown",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"T2","B");
		com_Items.AddLink("L2",h,"T1",h2,"T2");
		com_Items.Link("L2",258/*exLinkGroupBars*/,COMVariant::createFromInt(27));
		com_Items.Link("L2",11/*exLinkShowDir*/,COMVariant::createFromBoolean(false));
		print( "The distance between bars is constant" );
		print( "The B is always after the A" );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1169
How can I group two bars when linking, so moving the first bar will makes the second to move accordingly

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("9/21/2006",213)),COMVariant::createFromDate(str2Date("9/24/2006",213)),"","A");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Unknown",COMVariant::createFromDate(str2Date("9/26/2006",213)),COMVariant::createFromDate(str2Date("9/29/2006",213)),"","B");
		com_Items.AddLink("L1",h1,"",h2,"");
		com_Items.Link("L1",258/*exLinkGroupBars*/,COMVariant::createFromInt(39));
		print( "The distance between A and B is flexible, unlimited" );
		print( "The B is always after the A" );
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1168
Is it possible to be notified when the user clicks an anchor element a hyperlink in the date-time zone

// AnchorClick event - Occurs when an anchor element is clicked.
void onEvent_AnchorClick(str   _AnchorID,str   _Options)
{
	;
	print( "Click: " );
	print( _AnchorID );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.MarkTimeZone("Z",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromInt(15753471),";32;Caption <a1><b>1</b></a>;1;Caption <a2><b>2</b></a>;17;Caption <a3><b>3</b></a>");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1167
Is it possible to be notified when the user clicks a date-time zone

// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void onEvent_Click()
{
	COM com_Chart;
	anytype var_Chart;
	;
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		print( "Click: " );
		print( com_Chart.TimeZoneFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.MarkTimeZone("Z",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromInt(16711680),";32;DATE-TIME<br>    ZONE");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1166
Is is possible to display multiple captions in the same date-time zone

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.MarkTimeZone("Z",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromInt(12895487),";;Caption <b>1</b>;1;Caption <b>2</b>;17;Caption <b>3</b>");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1165
Is is possible to align on the top the caption for the date-time zone

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.MarkTimeZone("Z",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromInt(12895487),";;UpperCenter;1");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1164
Is there any option to display a picture on the date-time zone

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HTMLPicture("pic1","c:\\exontrol\\images\\card.png");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.MarkTimeZone("Z",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromInt(12895487),";;<c><img>pic1</img><br><c>picture");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1163
Is there any option to display a text or a HTML caption on the date-time zone

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/1/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromInt(12895487),";;zone <b>1</b>");
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromInt(12895487),";;zone <b>2</b>");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1162
How can I display the date-time zone using a semi-transparent EBN object

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromInt(16777056),";;Solid");
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),COMVariant::createFromInt(16777216),"50;;EBN");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1161
How can I display the date-time zone using an EBN or a skin instead a solid color

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromInt(16777056),";;Solid");
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromInt(16777216),";;EBN");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1160
How can I display the date-time zone using a pattern instead a solid color

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromInt(16777056),";;Solid");
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/6/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromInt(16777056),";12;Pattern");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1159
How can I display the date-time zone using a transparent color

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromInt(16777056),";;Opaque");
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/6/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromInt(16777056),"50;;Semi-Transparent");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1158
The date time zone is shown behind the bars, is there any way to show it over

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		com_Chart.AllowCreateBar(0/*exNoCreateBar*/);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Pattern(1/*exPatternSolid*/);
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromInt(16777056));
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/6/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),COMVariant::createFromInt(16777056),"1");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/8/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1157
How can I get ifnromation about a date-time zone
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	COM com_Chart;
	anytype var_Chart;
	;
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		print( com_Chart.TimeZoneInfo(com_Chart.TimeZoneFromPoint(-1,-1)) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,18);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromInt(16744544));
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/12/2010",213)),COMVariant::createFromDate(str2Date("1/18/2010",213)),COMVariant::createFromInt(16761952));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,18);
}
*/
1156
How can I determine the zone from the cursor
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	COM com_Chart;
	anytype var_Chart;
	;
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		print( com_Chart.TimeZoneFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,18);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromInt(16744544));
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/12/2010",213)),COMVariant::createFromDate(str2Date("1/18/2010",213)),COMVariant::createFromInt(16761952));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,18);
}
*/
1155
How can I highlight multiple date-time zones (ranges)

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,18);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromInt(16744544));
		com_Chart.MarkTimeZone("Z2",COMVariant::createFromDate(str2Date("1/12/2010",213)),COMVariant::createFromDate(str2Date("1/18/2010",213)),COMVariant::createFromInt(16761952));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,18);
}
*/
1154
How can I highlight a date-time range
public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,18);
		com_Chart.LevelCount(2);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2010",213)));
		com_Chart.MarkTimeZone("Z1",COMVariant::createFromDate(str2Date("1/4/2010",213)),COMVariant::createFromDate(str2Date("1/8/2010",213)),COMVariant::createFromInt(16744544));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,18);
}
*/
1153
How do I get the list of selected date
// ChartEndChanging event - Occurs after the chart has been changed.
void onEvent_ChartEndChanging(int   _Operation)
{
	;
	print( _Operation );
	print( exg2antt1.Chart().SelectDates() );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.MarkTodayColor(com_Chart.BackColor());
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1152
Is there any function I can use to find the bars that intersect with the current bar

// BarResizing event - Occurs when a bar is moving or resizing.
void onEvent_BarResizing(int   _Item,COMVariant   _Key)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		print( _Key );
		print( "intesect with" );
		print( com_Items.ItemBar(_Item,_Key,520/*exBarIntersectWithAsString*/) );
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h1;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(22);
	exg2antt1.Columns().Add("Task");
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-1/*exAllLines*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
		com_Chart.LevelCount(2);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.OverlaidType(1/*exOverlaidBarsOffset*/);
		com_Chart.ResizeUnitScale(65536/*exHour*/);
		com_Chart.AllowCreateBar(1/*exCreateBarAuto*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Default");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1","A1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2","A2");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3","A3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1151
Is it possible to order the bars on top of other bars

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(22);
	exg2antt1.Columns().Add("Task");
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-1/*exAllLines*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Copy("Task","NTask"); com_Bar = var_Bar;
		com_Bar.OverlaidType(1/*exOverlaidBarsOffset*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Default");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		h2 = com_Items.AddItem("Overlaid");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		com_Items.GroupBars(h1,"A1",true,h2,"A1",true);
		com_Items.GroupBars(h1,"A1",false,h2,"A1",false);
		com_Items.GroupBars(h1,"A2",true,h2,"A2",true);
		com_Items.GroupBars(h1,"A2",false,h2,"A2",false);
		com_Items.GroupBars(h1,"A3",true,h2,"A3",true);
		com_Items.GroupBars(h1,"A3",false,h2,"A3",false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1150
Is it possible to order the bars on top of other bars (have different colurs so that they can be seen)

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(22);
	exg2antt1.Columns().Add("Task");
	exg2antt1.ScrollBySingleLine(true);
	exg2antt1.DrawGridLines(-1/*exAllLines*/);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.DrawGridLines(-1/*exAllLines*/);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Copy("Task","NTask"); com_Bar = var_Bar;
		com_Bar.OverlaidType(515/*exOverlaidBarsStackAutoArrange | exOverlaidBarsStack*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Default");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		h2 = com_Items.AddItem("Overlaid");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		com_Items.GroupBars(h1,"A1",true,h2,"A1",true);
		com_Items.GroupBars(h1,"A1",false,h2,"A1",false);
		com_Items.GroupBars(h1,"A2",true,h2,"A2",true);
		com_Items.GroupBars(h1,"A2",false,h2,"A2",false);
		com_Items.GroupBars(h1,"A3",true,h2,"A3",true);
		com_Items.GroupBars(h1,"A3",false,h2,"A3",false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1149
Is it possible to layer bars on top of other bars (have different colurs so that they can be seen)

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h1,h2;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.DefaultItemHeight(22);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/28/2000",213)));
		com_Chart.LevelCount(2);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Copy("Task","NTask"); com_Bar = var_Bar;
		com_Bar.OverlaidType(1/*exOverlaidBarsOffset*/);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Default");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		h2 = com_Items.AddItem("Overlaid");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A1");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A2");
		com_Items.AddBar(h2,"NTask",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"A3");
		com_Items.GroupBars(h1,"A1",true,h2,"A1",true);
		com_Items.GroupBars(h1,"A1",false,h2,"A1",false);
		com_Items.GroupBars(h1,"A2",true,h2,"A2",true);
		com_Items.GroupBars(h1,"A2",false,h2,"A2",false);
		com_Items.GroupBars(h1,"A3",true,h2,"A3",true);
		com_Items.GroupBars(h1,"A3",false,h2,"A3",false);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1148
My skin(EBN) bars are not shown a different color in the overview. What can I do

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.Color(0x1000000);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/11/2001",213)));
		com_Chart.LevelCount(2);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromInt(1));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("2/2/2001",213)),COMVariant::createFromDate(str2Date("2/4/2001",213)),COMVariant::createFromInt(2));
		com_Items.ItemBar(h,COMVariant::createFromInt(2),33/*exBarColor*/,COMVariant::createFromInt(16776960));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("2/2/2001",213)),COMVariant::createFromDate(str2Date("2/4/2001",213)),"");
		com_Items.ItemBar(h,"",33/*exBarColor*/,COMVariant::createFromInt(255));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1147
How do I colour the lines in the overview section to match the bars they represent on the main chart

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(2);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromInt(1));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("2/2/2001",213)),COMVariant::createFromDate(str2Date("2/4/2001",213)),COMVariant::createFromInt(2));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("2/2/2001",213)),COMVariant::createFromDate(str2Date("2/4/2001",213)),"");
		com_Items.ItemBar(h,"",33/*exBarColor*/,COMVariant::createFromInt(255));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1146
How do I catch the delete key (down) on a bar
// KeyDown event - Occurs when the user presses a key while an object has the focus.
void onEvent_KeyDown(COMVariant /*short*/   _KeyCode,int   _Shift)
{
	;
	print( _KeyCode );
	print( _Shift );
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/27/2000",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Pattern(32/*exPatternBox*/);
			com_Bar.Height(13);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1","This is a bit of text that is not clipped");
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1","This is a bit of text that get's clipped");
		com_Items.ItemBar(h,"K1",4/*exBarHAlignCaption*/,COMVariant::createFromInt(3));
		com_Items.ItemBar(h,"K1",6/*exBarToolTip*/,com_Items.ItemBar(h,"K1",3/*exBarCaption*/));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1145
Is it possible to colour a particular column, I mean the cell's foreground color
public void init()
{
	COM com_Columns,com_ConditionalFormat,com_Items;
	anytype var_Columns,var_ConditionalFormat,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("1"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.ForeColor(WinApi::RGB2int(255,0,0));
		com_ConditionalFormat.ApplyTo(1);
	exg2antt1.MarkSearchColumn(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Column 1");
		com_Columns.Add("Column 2");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(0)),COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(2)),COMVariant::createFromInt(1),COMVariant::createFromInt(3));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(4)),COMVariant::createFromInt(1),COMVariant::createFromInt(5));
	exg2antt1.EndUpdate();
}
1144
Is it possible to colour a particular column for specified values
public void init()
{
	COM com_Columns,com_ConditionalFormat,com_Items;
	anytype var_Columns,var_ConditionalFormat,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_ConditionalFormat = COM::createFromObject(exg2antt1.ConditionalFormats()).Add("int(%1) in (3,4,5)"); com_ConditionalFormat = var_ConditionalFormat;
		com_ConditionalFormat.BackColor(WinApi::RGB2int(255,0,0));
		com_ConditionalFormat.ApplyTo(1);
	exg2antt1.MarkSearchColumn(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Column 1");
		com_Columns.Add("Column 2");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(0)),COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(2)),COMVariant::createFromInt(1),COMVariant::createFromInt(3));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(4)),COMVariant::createFromInt(1),COMVariant::createFromInt(5));
	exg2antt1.EndUpdate();
}
1143
Is it possible to colour a particular column
public void init()
{
	COM com_Columns,com_Items;
	anytype var_Columns,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.MarkSearchColumn(false);
	var_Columns = exg2antt1.Columns(); com_Columns = var_Columns;
		com_Columns.Add("Column 1");
		COM::createFromVariant(com_Columns.Add("Column 2")).Def(4/*exCellBackColor*/,COMVariant::createFromInt(255));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(0)),COMVariant::createFromInt(1),COMVariant::createFromInt(1));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(2)),COMVariant::createFromInt(1),COMVariant::createFromInt(3));
		com_Items.CellValue(com_Items.AddItem(COMVariant::createFromInt(4)),COMVariant::createFromInt(1),COMVariant::createFromInt(5));
	exg2antt1.EndUpdate();
}
1142
How do i get all the children items that are under a certain parent Item handle
public void init()
{
	COM com_Items,com_Items1;
	anytype var_Items,var_Items1;
	int h,hChild;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("P");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.InsertItem(h,,"Child 2");
		com_Items.ExpandItem(h,true);
	var_Items1 = exg2antt1.Items(); com_Items1 = var_Items1;
		hChild = com_Items1.ItemChild(com_Items1.FirstVisibleItem());
		print( com_Items1.CellValue(hChild,COMVariant::createFromInt(0)) );
		print( com_Items1.CellValue(com_Items1.NextSiblingItem(hChild),COMVariant::createFromInt(0)) );
	exg2antt1.EndUpdate();
}
1141
How can I access the control's scroll bar so I can change its appearance
public void init()
{
	;

	super();

	exg2antt1.BeginUpdate();
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,0);
	exg2antt1.VisualAppearance().Add(1,"c:\\exontrol\\images\\normal.ebn");
	exg2antt1.Background(388/*exHSThumb*/,0x1000000);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1140
How can I show my bars using the parts of the current theme
public void init()
{
	COM com_Appearance,com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Appearance,var_Bar,var_Bars,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Appearance = exg2antt1.VisualAppearance(); com_Appearance = var_Appearance;
		com_Appearance.Add(1,"XP:Button 1 1");
		com_Appearance.Add(2,"XP:Button 1 2");
		com_Appearance.Add(3,"XP:ScrollBar 3 1");
		com_Appearance.Add(4,"XP:ScrollBar 3 2");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bars = com_Chart.Bars(); com_Bars = var_Bars;
			var_Bar = COM::createFromObject(com_Bars.Add("B1")); com_Bar = var_Bar;
			com_Bar.Color(0x1000000);
			var_Bar = COM::createFromObject(com_Bars.Add("B2")); com_Bar = var_Bar;
			com_Bar.Color(0x2000000);
			var_Bar = COM::createFromObject(com_Bars.Add("S1")); com_Bar = var_Bar;
			com_Bar.Color(0x3000000);
			var_Bar = COM::createFromObject(com_Bars.Add("S2")); com_Bar = var_Bar;
			com_Bar.Color(0x4000000);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Button1"),"B1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Button 2"),"B2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Scrollbar 1"),"S1",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Scrollbar 2"),"S2",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1139
How do I hide the text on a bar if the text is to big for the bar length

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/27/2000",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.Pattern(32/*exPatternBox*/);
			com_Bar.Height(13);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1","This is a bit of text that is not clipped");
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1","This is a bit of text that get's clipped");
		com_Items.ItemBar(h,"K1",4/*exBarHAlignCaption*/,COMVariant::createFromInt(3));
		com_Items.ItemBar(h,"K1",6/*exBarToolTip*/,com_Items.ItemBar(h,"K1",3/*exBarCaption*/));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1138
Is it possible to change the color for non-working parts of the bar

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
		com_Chart.NonworkingDaysColor(WinApi::RGB2int(240,250,240));
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/16/2001",213)));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/16/2001",213)),"");
		com_Items.ItemBar(h,"",40/*exBarNonWorkingColor*/,COMVariant::createFromInt(65280));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1137
Is it possible to change the color for the percent bar being displayed inside a specified bar only

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.Columns().Add("Task");
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	exg2antt1.Chart().Bars().Add("Task%Progress");
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task%Progress",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.4));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task%Progress",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",12/*exBarPercent*/,COMVariant::createFromReal(0.5));
		com_Items.ItemBar(h,"K1",39/*exBarPercentColor*/,COMVariant::createFromInt(255));
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1136
How do I get a handle on the item before adding the bar
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2,h3;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.MarkSearchColumn(false);
	exg2antt1.OnResizeControl(1/*exResizeChart*/);
	exg2antt1.Columns().Add("Tasks");
	COM::createFromVariant(exg2antt1.Columns().Add("Start")).Visible(false);
	COM::createFromVariant(exg2antt1.Columns().Add("End")).Visible(false);
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("9/20/2006",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,64);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 0");
		com_Items.CellValue(h1,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/21/2006",213)));
		com_Items.CellValue(h1,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/24/2006",213)));
		com_Items.AddBar(h1,"Task",com_Items.CellValue(h1,COMVariant::createFromInt(1)),com_Items.CellValue(h1,COMVariant::createFromInt(2)));
		h2 = com_Items.InsertItem(h,,"Task 1");
		com_Items.CellValue(h2,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/25/2006",213)));
		com_Items.CellValue(h2,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("9/28/2006",213)));
		com_Items.AddBar(h2,"Task",com_Items.CellValue(h2,COMVariant::createFromInt(1)),com_Items.CellValue(h2,COMVariant::createFromInt(2)));
		h3 = com_Items.InsertItem(h,,"Task 2");
		com_Items.CellValue(h3,COMVariant::createFromInt(1),COMVariant::createFromDate(str2Date("9/29/2006",213)));
		com_Items.CellValue(h3,COMVariant::createFromInt(2),COMVariant::createFromDate(str2Date("10/2/2006",213)));
		com_Items.AddBar(h3,"Task",com_Items.CellValue(h3,COMVariant::createFromInt(1)),com_Items.CellValue(h3,COMVariant::createFromInt(2)));
		com_Items.AddItem(com_Items.ItemCount());
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,64);
}
*/
1135
Is there an Items method that I can use to loop around to compare the item's user data against
public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.Columns().Add("Default");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Root 1");
		com_Items.InsertItem(h,,"Child 1");
		com_Items.ItemData(com_Items.InsertItem(h,,"Child 2"),COMVariant::createFromInt(1234));
		com_Items.ExpandItem(h,true);
		com_Items.ItemBold(com_Items.FindItemData(COMVariant::createFromInt(1234)),true);
}
1134
How do I make the tooltip box wider to allow for longer text

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.ToolTipWidth(328);
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		com_Items.ItemBar(h,"K1",6/*exBarToolTip*/,"This is a bit of text that's displayed when the cursor hovers the bar");
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1133
How do i set the default timeslots to say hours or minutes

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.LevelCount(2);
		com_Chart.AllowOverviewZoom(1/*exAlwaysZoom*/);
		com_Chart.OverviewZoomUnit(24);
		com_Chart.OverviewZoomCaption("Y|½Y|¼Y|Mo|T|W|D|H|Mi|S");
		com_Chart.UnitScale(1048576/*exMinute*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/16/2001",213)),COMVariant::createFromDate(str2Date("1/25/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 4"),"Task",COMVariant::createFromDate(str2Date("2/16/2001",213)),COMVariant::createFromDate(str2Date("2/25/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1132
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.HTMLPicture("pic1","c:\\exontrol\\images\\zipdisk.gif");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.LevelCount(2);
		com_Chart.AllowOverviewZoom(1/*exAlwaysZoom*/);
		com_Chart.OverviewZoomUnit(24);
		com_Chart.OverviewHeight(58);
		com_Chart.OverviewZoomCaption("Y<br>e<br>a<br>r|½Y|¼Y|M<br>o<br>n<br>t<br>h|T|W<br>e<br>e<br>w|<img>pic1:28<img>|H<br>o<br>u<br>r|M<br>i<br>n|S<br>e<br>c");
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/16/2001",213)),COMVariant::createFromDate(str2Date("1/25/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 4"),"Task",COMVariant::createFromDate(str2Date("2/16/2001",213)),COMVariant::createFromDate(str2Date("2/25/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1131
Can I use icons or images in the text in the overview zoom buttons (Sec., Min., Hour, Month...)

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql";
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0";
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN";
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=";
	exg2antt1.Images(COMVariant::createFromStr(var_s));
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.LevelCount(2);
		com_Chart.AllowOverviewZoom(1/*exAlwaysZoom*/);
		com_Chart.OverviewZoomUnit(24);
		com_Chart.OverviewZoomCaption("Y|½Y|¼Y|<img>2<img>|T|W|<img>1<img>|H|M|S");
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/16/2001",213)),COMVariant::createFromDate(str2Date("1/25/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 4"),"Task",COMVariant::createFromDate(str2Date("2/16/2001",213)),COMVariant::createFromDate(str2Date("2/25/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1130
How do I change (for localisation) the text in the buttons like (Sec., Min., Hour, Month...)
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.LevelCount(2);
		com_Chart.AllowOverviewZoom(1/*exAlwaysZoom*/);
		com_Chart.OverviewZoomUnit(24);
		com_Chart.OverviewZoomCaption("Y|½Y|¼Y|Mo|T|W|D|H|Mi|S");
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 2"),"Task",COMVariant::createFromDate(str2Date("1/16/2001",213)),COMVariant::createFromDate(str2Date("1/25/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 3"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)));
		com_Items.AddBar(com_Items.AddItem("Item 4"),"Task",COMVariant::createFromDate(str2Date("2/16/2001",213)),COMVariant::createFromDate(str2Date("2/25/2001",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1129
How I can change the Months and Weekdays

public void init()
{
	COM com_Chart,com_Level,com_Level1;
	anytype var_Chart,var_Level,var_Level1;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("2/1/2010",213)));
		com_Chart.LevelCount(2);
		com_Chart.UnitWidth(10);
		com_Chart.MonthNames("1 2 3 4 5 6 7 8 9 10 11 12");
		com_Chart.WeekDays("A B C D E F G");
		var_Level = com_Chart.Level(0); com_Level = var_Level;
			com_Level.Label("<%mmmm%>");
			com_Level.Unit(16/*exMonth*/);
		var_Level1 = com_Chart.Level(1); com_Level1 = var_Level1;
			com_Level1.Label("<font ;6><%ddd%>");
			com_Level1.Unit(4096/*exDay*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1128
How do i get the current window time frame (the start and end) of the gantt chart
// DateChange event - Occurs when the first visible date is changed.
void onEvent_DateChange()
{
	COM com_Chart;
	anytype var_Chart;
	;
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		print( "Start" );
		print( com_Chart.FirstVisibleDate() );
		print( "" );
		print( "End" );
		print( com_Chart.DateFromPoint(com_Chart.PaneWidth(true),0) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,1);
		com_Chart.LevelCount(2);
		com_Chart.ScrollTo(str2Date("1/1/2010",213),COMVariant::createFromInt(0));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,1);
}
*/
1127
When I use this Chart.get_DateFromPoint(exg2antt1.Width, 0) I get date as 0, 30/12/1899, or 12:00:00 AM. What that means
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().DateFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.LevelCount(2);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1126
How do I enable grabing bars to other items/rows (and only enable them to be dropped on certain rows)
// BarParentChange event - Occurs just before moving a bar from current item to another item.
void onEvent_BarParentChange(int   _Item,COMVariant   _Key,int   _NewItem,COMVariant /*bool*/   _Cancel)
{
	;
	print( exg2antt1.Items().CellCaption(_NewItem,COMVariant::createFromInt(0)) );
	_Cancel = exg2antt1.Items().ItemData(_NewItem);
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.OverlaidType(257/*exOverlaidBarsTransparent | exOverlaidBarsOffset*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item 1");
		com_Items.EnableItem(h,false);
		com_Items.ItemData(h,COMVariant::createFromInt(-1));
		h = com_Items.AddItem("Item 2");
		com_Items.ItemData(h,COMVariant::createFromInt(0));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"B");
		com_Items.ItemBar(h,"B",28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
		com_Items.ItemData(com_Items.AddItem("Item 3"),COMVariant::createFromInt(0));
		h = com_Items.AddItem("Item 4");
		com_Items.EnableItem(h,false);
		com_Items.ItemData(h,COMVariant::createFromInt(-1));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1125
How can I find out if a date time is a non-working part
// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	Date d;
	int h;
	;
	h = exg2antt1.ItemFromPoint(-1,-1,c,hit);
	d = exg2antt1.Chart().DateFromPoint(-1,-1);
	print( d );
	print( exg2antt1.Chart().IsNonworkingDate(d,h) );
}

public void init()
{
	COM com_Chart,com_Items;
	Date d;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("NonWorking");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstWeekDay(1/*exMonday*/);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/24/2008",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Default");
		h = com_Items.AddItem("January");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"month(value) = 1");
		h = com_Items.AddItem("February, Saturday, Sunday");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"month(value) = 2 or (weekday(value) = 0 or weekday(value) = 6)");
		h = com_Items.AddItem("Sunday");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"weekday(value) = 0");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1124
I am using the ItemBar property exBarCanMoveToAnother, How do I stop it from being dropped on certain chart rows
// BarParentChange event - Occurs just before moving a bar from current item to another item.
void onEvent_BarParentChange(int   _Item,COMVariant   _Key,int   _NewItem,COMVariant /*bool*/   _Cancel)
{
	;
	print( exg2antt1.Items().CellCaption(_NewItem,COMVariant::createFromInt(0)) );
	_Cancel = exg2antt1.Items().ItemData(_NewItem);
}

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowLinkBars(false);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
		com_Bar.OverlaidType(257/*exOverlaidBarsTransparent | exOverlaidBarsOffset*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Item 1");
		com_Items.EnableItem(h,false);
		com_Items.ItemData(h,COMVariant::createFromInt(-1));
		h = com_Items.AddItem("Item 2");
		com_Items.ItemData(h,COMVariant::createFromInt(0));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"B");
		com_Items.ItemBar(h,"B",28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
		com_Items.ItemData(com_Items.AddItem("Item 3"),COMVariant::createFromInt(0));
		com_Items.ItemData(com_Items.AddItem("Item 4"),COMVariant::createFromInt(0));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1123
What is the event I should use to capture the click event on the task item on left hand side
// Click event - Occurs when the user presses and then releases the left mouse button over the tree control.
void onEvent_Click()
{
	int h;
	;
	h = exg2antt1.ItemFromPoint(-1,-1,c,hit);
	print( exg2antt1.Items().CellCaption(h,c) );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Items");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("R1");
		com_Items.InsertItem(h,,"Cell 1.1");
		com_Items.InsertItem(h,,"Cell 1.2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("R2");
		com_Items.InsertItem(h,,"Cell 2.1");
		com_Items.InsertItem(h,,"Cell 2.2");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}
1122
Can I add a hyperlink assigned to a bar

// AnchorClick event - Occurs when an anchor element is clicked.
void onEvent_AnchorClick(str   _AnchorID,str   _Options)
{
	;
	print( _AnchorID );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"default");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"<a1><b>A 1</b></a>");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		h = com_Items.AddItem("Task 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"<a2><b>A 2</b></a>");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1121
Can I change the background color only for the text (caption) in a bar

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"default");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"using <bgcolor=FF0000>bgcolor</bgcolor> HTML attribute ");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1120
Can I change the font to display the text (caption) in a bar

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"default");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"<font Segoe UI;8 >using font HTML attribute </fgcolor>");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1119
How do i change the forecolor of text (caption) in a bar

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"default");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		h = com_Items.AddItem("Task 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"<fgcolor=FF0000>using fgcolor HTML attribute </fgcolor>");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		h = com_Items.AddItem("Task 3");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K");
		com_Items.ItemBar(h,"K",3/*exBarCaption*/,"using exBarForeColor");
		com_Items.ItemBar(h,"K",4/*exBarHAlignCaption*/,COMVariant::createFromInt(18));
		com_Items.ItemBar(h,"K",8/*exBarForeColor*/,COMVariant::createFromInt(65280));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1118
I have noticed that when scrolling horizontally the chart a tooltip shown. is it possible to actually do the scrolling without showing the tooltip
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
		com_Chart.ToolTip("");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"A");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"B");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1117
How can I add a bar to be treated as a nonworking part like a "holidays" bar

public void init()
{
	COM com_Bar,com_Bars,com_Chart,com_Items;
	anytype var_Bar,var_Bars,var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowNonworkingBars(true);
		var_Bars = COM::createFromObject(com_Chart.Bars()); com_Bars = var_Bars;
		var_Bar = COM::createFromObject(com_Bars).Add("Task:Split"); com_Bar = var_Bar;
		com_Bar.Shortcut("Task");
	exg2antt1.Columns().Add("Tasks");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"weekday(value) in (0,6)");
		com_Items.AddBar(h,"",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/5/2001",213)),"A","holyday");
		com_Items.ItemBar(h,"A",38/*exBarTreatAsNonworking*/,COMVariant::createFromBoolean(true));
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/12/2001",213)),"Z");
		com_Items.ItemBar(h,"Z",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1116
Is it possible to add bars that act like a non-working fixed part or the item

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowNonworkingBars(true);
	exg2antt1.Columns().Add("Tasks");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"weekday(value) in (0,6)");
		com_Items.AddBar(h,"",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"h","holyday");
		com_Items.ItemBar(h,"h",38/*exBarTreatAsNonworking*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h,"h",29/*exBarSelectable*/,COMVariant::createFromBoolean(false));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1115
Is it possible to add bars that act like a non-working part or the item

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.AllowNonworkingBars(true);
	exg2antt1.Columns().Add("Tasks");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Task 1");
		com_Items.ItemNonworkingUnits(h,COMVariant::createFromBoolean(false),"weekday(value) in (0,6)");
		com_Items.AddBar(h,"",COMVariant::createFromDate(str2Date("1/3/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"h","holyday");
		com_Items.ItemBar(h,"h",38/*exBarTreatAsNonworking*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1114
How can I change the both dates for the bar at once
public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,64);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/21/2005",213)));
		com_Chart.ShowEmptyBars(1);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("Test");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("6/22/2005",213)),COMVariant::createFromDate(str2Date("6/26/2005",213)),"");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("6/27/2005",213)),COMVariant::createFromDate(str2Date("6/29/2005",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,64);
}
*/
1113
How can I get the selected bars in the chart

// ChartSelectionChanged event - Occurs when the user selects objects in the chart area.
void onEvent_ChartSelectionChanged()
{
	;
	print( exg2antt1.Items().SelectedObjects(1/*exSelectBarsOnly*/) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"A");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"B");
		com_Items.ItemBar(com_Items.FirstVisibleItem(),com_Items.FirstItemBar(com_Items.FirstVisibleItem()),257/*exBarSelected*/,COMVariant::createFromBoolean(true));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1112
How can I list the actions that can be performed by undo operations
// ChartEndChanging event - Occurs after the chart has been changed.
void onEvent_ChartEndChanging(int   _Operation)
{
	;
	print( exg2antt1.Chart().UndoListAction() );
}

public void init()
{
	COM com_Bar,com_Items;
	anytype var_Bar,var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Chart().FirstVisibleDate(COMVariant::createFromDate(str2Date("1/1/2001",213)));
	exg2antt1.Chart().AllowLinkBars(false);
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Item("Task"); com_Bar = var_Bar;
	com_Bar.OverlaidType(257/*exOverlaidBarsTransparent | exOverlaidBarsOffset*/);
	exg2antt1.Chart().AllowUndoRedo(true);
	/*should be called during the form's activate method*/ exg2antt1.Chart().PaneWidth(false,32);
	var_Bar = COM::createFromObject(exg2antt1.Chart().Bars()).Add("Task:Split"); com_Bar = var_Bar;
	com_Bar.Shortcut("Task");
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Item 1"),"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"A");
		h = com_Items.AddItem("Item 2");
		com_Items.AddBar(h,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/9/2001",213)),"B");
		com_Items.ItemBar(h,"B",28/*exBarCanMoveToAnother*/,COMVariant::createFromBoolean(true));
		com_Items.ItemBar(h,"B",20/*exBarKeepWorkingCount*/,COMVariant::createFromBoolean(true));
		com_Items.ItemNonworkingUnits(com_Items.AddItem("Item 3"),COMVariant::createFromBoolean(false),"weekday(value)=0");
		com_Items.ItemNonworkingUnits(com_Items.AddItem("Item 4"),COMVariant::createFromBoolean(false),"weekday(value) in (3,5)");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,32);
}
*/
1111
How can I change the predefined labels being displayed in the chart's header so it shows the data in short format with no literals

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	str var_s;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.AllowOverviewZoom(1/*exAlwaysZoom*/);
		com_Chart.OverviewVisible(2/*exOverviewShowAllVisible*/);
		com_Chart.LevelCount(3);
		com_Chart.Label(0/*exYear*/,"<%yy%><|><%yyyy%>");
		com_Chart.Label(1/*exHalfYear*/,"");
		com_Chart.Label(2/*exQuarterYear*/,"");
		com_Chart.Label(16/*exMonth*/,"<|><%m%><|><%m%>/<%yy%><|><%m%>/<%yyyy%>");
		com_Chart.Label(17/*exThirdMonth*/,"");
		com_Chart.Label(256/*exWeek*/,"<|><%ww%><|><%m%>/<%d%>/<%yy%><r><%ww%><|><%m%>/<%d%>/<%yyyy%><r><%ww%><||><||>256");
		com_Chart.Label(4096/*exDay*/,"<|><%d%><|><%m%>/<%d%>/<%yy%><|><%m%>/<%d%>/<%yyyy%><||><||>4096");
		com_Chart.Label(65536/*exHour*/,"<|><%hh%><|><%m%>/<%d%>/<%yy%> <%h%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%><||><||>65536");
		com_Chart.Label(1048576/*exMinute*/,"<|><%nn%><|><%h%>:<%nn% <%AM/PM%>><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%> <%AM/PM%><|><%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
		var_s = "<|><%ss%><|><%nn%>:<%ss%><|><%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%><|><%m%>/<%d%>/<%yyy";
		var_s = var_s + "y%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>";
		com_Chart.Label(16777216/*exSecond*/,var_s);
		com_Chart.LabelToolTip(0/*exYear*/,"<%yyyy%>");
		com_Chart.LabelToolTip(1/*exHalfYear*/,"");
		com_Chart.LabelToolTip(2/*exQuarterYear*/,"");
		com_Chart.LabelToolTip(16/*exMonth*/,"<%m%>/<%yyyy%>");
		com_Chart.LabelToolTip(17/*exThirdMonth*/,"");
		com_Chart.LabelToolTip(256/*exWeek*/,"<%m%>/<%d%>/<%yyyy%> <%ww%>");
		com_Chart.LabelToolTip(4096/*exDay*/,"<%m%>/<%d%>/<%yyyy%>");
		com_Chart.LabelToolTip(65536/*exHour*/,"<%m%>/<%d%>/<%yyyy%> <%h%> <%AM/PM%>");
		com_Chart.LabelToolTip(1048576/*exMinute*/,"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%> <%AM/PM%>");
		com_Chart.LabelToolTip(16777216/*exSecond*/,"<%m%>/<%d%>/<%yyyy%> <%h%>:<%nn%>:<%ss%> <%AM/PM%>");
		com_Chart.UnitScale(4096/*exDay*/);
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1110
The histogram does not show (correctly) the bars, even if I changed the Bar.HistogramPattern and Bar.HistogramColor properties. What can be wrong

public void init()
{
	COM com_Bar,com_Chart,com_Items;
	anytype var_Bar,var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,48);
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/27/2000",213)));
		com_Chart.HistogramVisible(true);
		com_Chart.HistogramHeight(32);
		var_Bar = COM::createFromObject(com_Chart.Bars()).Item("Task"); com_Bar = var_Bar;
			com_Bar.HistogramPattern(6/*exPatternBDiagonal*/);
			com_Bar.HistogramColor(WinApi::RGB2int(255,0,0));
		com_Chart.ResizeUnitScale(65536/*exHour*/);
	exg2antt1.Columns().Add("Column");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/2/2001 8:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/2/2001 12:00:00",213)));
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromUtcDateTime(str2Datetime("1/1/2001 8:00:00",213)),COMVariant::createFromUtcDateTime(str2Datetime("1/5/2001 12:00:00",213)));
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,48);
}
*/
1109
How can I change the default key for the newly added link from "Link1" to my identifier
// AddLink event - Occurs when the user links two bars using the mouse.
void onEvent_AddLink(str   _LinkKey)
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddLink("newIDlink",com_Items.Link(_LinkKey,0/*exLinkStartItem*/),com_Items.Link(_LinkKey,1/*exLinkStartBar*/),com_Items.Link(_LinkKey,2/*exLinkEndItem*/),com_Items.Link(_LinkKey,3/*exLinkEndBar*/));
		com_Items.RemoveLink(_LinkKey);
}

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().LinkFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1108
How can I change the default key for the newly added link from "Link1" to my identifier
// AllowLink event - Notifies at runtime when a link between two bars is possible.
void onEvent_AllowLink(int   _StartItem,COMVariant   _StartBarKey,int   _EndItem,COMVariant   _EndBarKey,COMVariant /*variant*/   _LinkKey,COMVariant /*bool*/   _Cancel)
{
	;
	_LinkKey = "newIDlink";
}

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().LinkFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Tasks");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/20/2005",213)));
		com_Chart.AllowLinkBars(true);
		com_Chart.LevelCount(2);
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(0,48);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddBar(com_Items.AddItem("Task 1"),"Task",COMVariant::createFromDate(str2Date("6/21/2005",213)),COMVariant::createFromDate(str2Date("6/25/2005",213)),"");
		com_Items.AddBar(com_Items.AddItem("Task 2"),"Task",COMVariant::createFromDate(str2Date("6/28/2005",213)),COMVariant::createFromDate(str2Date("7/2/2005",213)),"");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(0,48);
}
*/
1107
We want to have a Task ID column as the first column that shows the row number. How can we do that
// FormatColumn event - Fired when a cell requires to format its caption.
void onEvent_FormatColumn(int   _Item,int   _ColIndex,COMVariant /*variant*/   _Value)
{
	;
	_Value = exg2antt1.Items().ItemPosition(_Item);
}

public void init()
{
	COM com_Column,com_Items;
	anytype var_Column,var_Items;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Column = COM::createFromVariant(exg2antt1.Columns().Add("Pos")); com_Column = var_Column;
		com_Column.Width(24);
		com_Column.AllowSizing(false);
		com_Column.Position(0);
		com_Column.FireFormatColumn(true);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		com_Items.AddItem("Task A");
		com_Items.AddItem("Task B");
		com_Items.AddItem("Task C");
		com_Items.AddItem("Task D");
	exg2antt1.EndUpdate();
}
1106
How can I get the caption of focused item
// SelectionChanged event - Fired after a new item has been selected.
void onEvent_SelectionChanged()
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		print( "Handle" );
		print( com_Items.FocusItem() );
		print( "Caption" );
		print( com_Items.CellCaption(com_Items.FocusItem(),COMVariant::createFromInt(0)) );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Items");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("R1");
		com_Items.InsertItem(h,,"Cell 1.1");
		com_Items.InsertItem(h,,"Cell 1.2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("R2");
		com_Items.InsertItem(h,,"Cell 2.1");
		com_Items.InsertItem(h,,"Cell 2.2");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}
1105
How can I get the caption of selected item
// SelectionChanged event - Fired after a new item has been selected.
void onEvent_SelectionChanged()
{
	COM com_Items;
	anytype var_Items;
	;
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		print( "Handle" );
		print( com_Items.SelectedItem(0) );
		print( "Caption" );
		print( com_Items.CellCaption(com_Items.SelectedItem(0),COMVariant::createFromInt(0)) );
}

public void init()
{
	COM com_Items;
	anytype var_Items;
	int h;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.LinesAtRoot(-1/*exLinesAtRoot*/);
	exg2antt1.Columns().Add("Items");
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h = com_Items.AddItem("R1");
		com_Items.InsertItem(h,,"Cell 1.1");
		com_Items.InsertItem(h,,"Cell 1.2");
		com_Items.ExpandItem(h,true);
		h = com_Items.AddItem("R2");
		com_Items.InsertItem(h,,"Cell 2.1");
		com_Items.InsertItem(h,,"Cell 2.2");
		com_Items.ExpandItem(h,true);
	exg2antt1.EndUpdate();
}
1104
How can I get the link from the point

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().LinkFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2,h3;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/29/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/5/2001",213)),COMVariant::createFromDate(str2Date("1/7/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
		com_Items.Link("L1",12/*exLinkText*/,"L1");
		h3 = com_Items.AddItem("Task 3");
		com_Items.AddBar(h3,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K3");
		com_Items.AddLink("L2",h2,"K2",h3,"K3");
		com_Items.Link("L2",12/*exLinkText*/,"L2");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1103
How can I get the bar from the point

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().BarFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart,com_Items;
	anytype var_Chart,var_Items;
	int h1,h2,h3;
	;

	super();

	exg2antt1.BeginUpdate();
	exg2antt1.Columns().Add("Task");
	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("12/29/2000",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,64);
		com_Chart.LevelCount(2);
	var_Items = exg2antt1.Items(); com_Items = var_Items;
		h1 = com_Items.AddItem("Task 1");
		com_Items.AddBar(h1,"Task",COMVariant::createFromDate(str2Date("1/2/2001",213)),COMVariant::createFromDate(str2Date("1/4/2001",213)),"K1");
		h2 = com_Items.AddItem("Task 2");
		com_Items.AddBar(h2,"Task",COMVariant::createFromDate(str2Date("1/4/2001",213)),COMVariant::createFromDate(str2Date("1/6/2001",213)),"K2");
		com_Items.AddLink("L1",h1,"K1",h2,"K2");
		h3 = com_Items.AddItem("Task 3");
		com_Items.AddBar(h3,"Task",COMVariant::createFromDate(str2Date("1/8/2001",213)),COMVariant::createFromDate(str2Date("1/10/2001",213)),"K3");
		com_Items.AddLink("L2",h2,"K2",h3,"K3");
	exg2antt1.EndUpdate();
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,64);
}
*/
1102
How can I get the level from the cursor

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().LevelFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
		com_Chart.FirstVisibleDate(COMVariant::createFromDate(str2Date("6/25/2010",213)));
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.LevelCount(4);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/
1101
How can I get the date from the cursor

// MouseMove event - Occurs when the user moves the mouse.
void onEvent_MouseMove(int   _Button,int   _Shift,int   _X,int   _Y)
{
	;
	print( exg2antt1.Chart().DateFromPoint(-1,-1) );
}

public void init()
{
	COM com_Chart;
	anytype var_Chart;
	;

	super();

	var_Chart = exg2antt1.Chart(); com_Chart = var_Chart;
	/*should be called during the form's activate method*/ 	com_Chart.PaneWidth(false,0);
		com_Chart.LevelCount(2);
}

/*
public void activate(boolean _active)
{
	;

	super(_active);

	exg2antt1.Chart().PaneWidth(false,0);
}
*/